Java BufferedImage 内存消耗
全部标签 我正在处理一个大型应用程序(300KLOC),它在Sun1.6JVM(1.6_05)中导致内存泄漏。分析Java显示没有泄漏。JVM是否提供任何诊断来检测泄漏原因?我还不能创建一个简单的、独立的Java测试用例。解决这个问题的唯一方法是在JVM上使用C堆分析器吗?该应用程序创建套接字池并执行大量网络I/O。 最佳答案 像profiler4j这样的分析器可以显示托管和非托管内存(实时曲线)。然后您可以查看是否有泄漏以及泄漏发生的时间。但是您没有找到更多信息。在此之后有2种可能的解决方案:您可以使用实时曲线隔离问题并创建更简单的测试,直
我正在尝试解决java中“查找您附近的兴趣点”的问题。即我有很多纬度,很多兴趣点。我想找到800米以内的那些。假设我知道我当前的纬度和日志。我的问题是这个应用程序必须是独立的。所以我不能依赖空间数据库查询来查找结果,例如使用mysql我发现这很有用:http://xebee.xebia.in/2010/10/28/working-with-geolocations/目前我找不到支持空间查询的内存数据库。我打算求助于使用类似http://jsi.sourceforge.net/的R-Tree但我知道这不会那么正确,因为它使用的是矩形搜索而不是圆形搜索。有什么建议吗?
我正在开发一个将Hadoop的MapReduce框架与Xuggle集成的程序。为此,我正在实现一个IURLProtocolHandlerFactory类,该类可读取和写入内存中的Hadoop数据对象。你可以在这里看到相关代码:https://gist.github.com/4191668想法是在IURLProtocolHandlerFactory类中为每个BytesWritable对象注册一个UUID,这样当我稍后在打开文件时引用该名称时,它会返回一个IURLProtocolHandler实例附加到BytesWritable对象,我可以从内存读取和写入内存。问题是我得到了这样的异常:j
HEREISTHEHEADDUMP(UPDATEDON10/29/2013)我在一个网络应用中工作:Tomcat7.0.24Java6Spring3(使用aop-cglib)基于Log4j的SLF4JOracle一致性经过大量工作,我设法删除了所有对类加载器的强引用,现在它是垃圾收集器的候选者。那么,内存泄漏解决了吗?当然不是!因为在几次热部署之后,由于PermGen空间出现了OOME。感谢Yourkit,我能够检查WebappClassLoader是PendingFinalization这意味着它正在终结队列中等待(实际上,不是WebappClassLoader本身就是他的一个ref
关于这个问题有很多问题,但没有一个让我满意的答案;我正在使用Swing编写一个简单的GUI窗口。目前它只包含4个按钮,其中一个是打开文件选择器。当我使用VisualVMMonitoring工具查看内存使用情况时,结果如下所示:memoryusagehttp://img17.imageshack.us/img17/3589/8txc.png当我点击按钮时出现了第一条派克,然后我什么也没做。空闲应用程序消耗10M/min(当它什么都不做时?)这正常吗?因为我必须用图像做一个类似测验的小程序,所以我应该在每次切换到下一个问题时调用System.gc()以避免(可能是巨大的?)内存用法?
我正在开发一个旧的java程序,其中包含一个带有Fortran调用的native库。所以,我有Java通过JNI调用C,然后调用Fortran。在生产中我们有一个内存不足的错误,比如:Nativememoryallocation(malloc)failedtoallocate120000bytesforjfloatinC:\BUILD_AREA\jdk6_37\hotspot\src\share\vm\prims\jni.cpp我怀疑是内存泄漏。我是公司的新人,我想在Linux上工作,但他们让我在Windows上工作:(在生产环境下,我们使用.so文件,因为我们在solaris上,而我
多年来,毫无疑问,我一直在使用final关键字来表示在实例/类的生命周期内不应更改的字段。我突然想到了...所以给出这个例子:publicclassTestFinalGC{privateTestFinalGC(){}privatefinalObjectobj=newObject();publicstaticvoidmain(String[]args){TestFinalGCinstance=newTestFinalGC();//instanceRef->actualinstance->?objref->actualobjSystem.out.println(instance.obj);
我们的应用程序生成图像。BufferedImage消耗的内存产生内存不足异常:java.lang.OutOfMemoryError:Javaheapspace这发生在以下行中:BufferedImageresult=newBufferedImage(2540,2028,BufferedImage.TYPE_INT_ARGB);在这条指令之前检查空闲内存时,它显示我有108MB空闲内存。我用来检查内存的方法是:Runtimert=Runtime.getRuntime();rt.gc();longmaxMemory=rt.maxMemory();longusedMemory=rt.tota
我正在使用与java.io.File实例一起使用的第三方库。我想在我的单元测试中使用这个库,但我不希望它在磁盘上创建文件。我的第一个想法是使用JimFs模拟文件系统,但它不支持java.io.File。我的第二个想法是使用一些模拟框架模拟File并将调用委托(delegate)给JimFs,但不知道这是否可行。是否有一些使用虚拟java.io.File的解决方案? 最佳答案 您可以使用JUnitTemporaryFolder规则轻松创建在测试方法完成后删除的临时文件。 关于java-使用
您好,我有一个关于继承的问题。在Java中,子类对象内部有其父类(superclass)的对象?当JVM为子类对象分配空间时,为父类(superclass)字段/方法分配空间?谢谢。例子:classBar{publicStringfield;publicBar(){this.field="Bar";}}classFooextendsBar{publicStringfield;publicFoo(){this.field="Foo";}publicvoidprintFields(){System.out.println("Base:"+super.field);System.out.pr